package com.magold.logic.polygon;

import org.andengine.entity.scene.Scene;
import org.andengine.extension.physics.box2d.PhysicsWorld;
import org.andengine.opengl.texture.region.ITiledTextureRegion;
import org.andengine.opengl.vbo.VertexBufferObjectManager;

import com.badlogic.gdx.physics.box2d.BodyDef.BodyType;
import com.badlogic.gdx.physics.box2d.FixtureDef;
import com.magold.logic.ISpriteLogic;
import com.magold.physics.MagoldPhysicsConnector;
import com.magold.sprite.MultiTextureSpriteFilter;

public abstract class PrimitiveShape extends MultiTextureSpriteFilter {
	protected MagoldPhysicsConnector mConnector;
	
	public PrimitiveShape() {
		super(null);
	}
	
	public abstract void createSceneData(
			float pX, float pY, float pRotation, float pScale, Scene pScene,
			ISpriteLogic pCollisionHandler, ITiledTextureRegion pRegion, VertexBufferObjectManager vbom);
	
	public abstract void createPhysicsData(PhysicsWorld pWorld, BodyType pBodyType, FixtureDef pFixtureDef);
		
	public MagoldPhysicsConnector getPhysicsConnector() {
		return mConnector;
	}
	
}
